#ifndef GLOBAL_H
#define GLOBAL_H

#include "tim.h"
#include "BSP.h"
#include "HT03_Driver.h"
#include "Leg.h"
#include "Remote.h"
#include "FSM.h"

#define GLOBAL_TIM htim2

#define TEST 0
#define OPEN_CAN 1
#define REMOTE 1
#define DOG_MODE 1

#define STARTANGLE_F RAD(-45.8) // 前半腿
#define STARTANGLE_B RAD(76.2)  // 后半腿

#define MAX_THROTTLE 800.0f
#define MIN_THROTTLE 200.0f

#define ANGLE_F RAD(-91.1)
#define ANGLE_B RAD(-30.47)
#define MAX_JUMPANGLE RAD(30)
#define MIN_JUMPANGLE RAD(-30)

struct Global_t
{
    float runTime;      // 运行时间 ms
    uint8_t isWalking;  // 是否行走
    float throttle;     // 步频周期
    float phase[4];     // 相位
    uint8_t contact[4]; // 是否触地
    float bias[4];      // 偏差
    float height;       // 身体高度
    float jumpAngle;    // 前倾角度
    float jumpAngleL;   // 前倾角度
    float jumpAngleR;   // 前倾角度

} global;

#endif
